java - JUnit 测试 Spring @Async void 服务方法
全部标签 这里是新程序员。我是一名学生,正在研究我的项目,该项目是Reddit的克隆版。目前,我已被介绍给RSPEC。我必须开始编写自己的模型测试以用于进一步的练习。有问题的模型没有创建,它将在下一个任务中。有人可以检查我是否做对了吗?Inthenextcheckpoint,we'lladdaVotemodel.Thismodelwillfeatureaninclusionvalidation.Inclusionvalidationensuresthatavote'svalueattributeiseither1or-1.Ifavoteisinitializedwithanyothervalue
我的测试是这样的:它“在通过非订阅或试用成员(member)资格时确实返回错误”期望(helper.description_for_subscription(recurring_plan)).toraise_error(RuntimeError)结束我的方法返回这个:失败“未知订阅模型类型!”然而Rspec返回此失败消息:失败/错误:expect(helper.description_for_subscription(recurring_plan)).toraise_error(RuntimeError)运行时错误:未知的订阅模型类型!这是怎么回事?? 最佳
我正在使用Rails5beta的开箱即用的普通测试套件。我想知道是否有人知道如何运行全局设置并拆除。这是我在任何测试开始之前启动一个内存中的Elasticsearch集群并在测试完成后停止该集群所必需的原因。Rspec不是一个选项。 最佳答案 在Minitest(这是Rails4+中的默认测试环境)下,要获得“全局设置”行为,只需在test_helper.rb中运行任何内容即可。(在测试本身或任何setup方法之外),即在您从中加载测试环境的文件中。测试助手通常在测试中需要,因此它的代码在任何测试之前运行一次。对于“全局拆解”,Mi
这里是documentationforassert_in_delta:assert_in_delta(exp,act,delta=0.001,msg=nil)publicForcomparingFloats.Failsunlessexpandactarewithindeltaofeachother.assert_in_deltaMath::PI,(22.0/7.0),0.01这里是documentationforassert_in_epsilonassert_in_epsilon(a,b,epsilon=0.001,msg=nil)publicForcomparingFloats.Fa
让我们来看一个普通的ruby类:classPersonattr_accessor:namedefinitializename@name=nameendendbob=Person.new("bob")我的问题是初始化的性质。事情是这样的,new显然是一个类方法,但在我看来initialize是一个实例方法(不是类),它在类方法创建的实例上调用new被调用。我有这个权利吗?或者有人可以阐明一些新的观点吗?我做了一些谷歌搜索,但找不到任何清晰度。 最佳答案 当一个新对象被初始化时(也就是说,当你在一个类上调用new时)有效调用的是这个
在Ruby中,常量查找受嵌套的影响,而方法保留其嵌套。例如,如果我有这些模块:moduleAX=1endmoduleBX=2endmoduleFooend我可以定义一个方法Foo.a,它嵌套了[A,Foo]:moduleFoomodule::AModule.nesting#=>[A,Foo]defFoo.aXendendendFoo.a#=>1还有一个方法Foo.b嵌套了[Foo,B]:moduleBmodule::FooModule.nesting#=>[Foo,B]defFoo.bXendendendFoo.b#=>2如果我定义Foo::X,区别就会变得很明显:Foo::X=3Fo
我在Rails5项目的app/services文件夹下有多个加载/需要类的问题,我开始放弃这个问题。首先要明确的是,services/是我在整个项目中使用的简单PORO类,用于从Controller、模型等中抽象出大部分业务逻辑。树看起来像这样app/services/my_service/base.rbfunny_name.rbmy_service.rbmodels/funny_name.rb失败#1首先,当我尝试使用MyService.const_get('FunnyName')时,它从我的模型目录中获取了FunnyName。当我直接执行MyService::FunnyName时,
我正在编写一个快速的Rails应用程序,并且想知道如何验证执行的命令是否成功。我正在运行的两个命令是SVN更新,以及从一个目录到另一个目录的cp。 最佳答案 如果您使用Kernel.system()方法,它将返回一个bool值,指示命令是否成功。result=system("cp-rdir1dir2")if(result)#dothenextthingelse#handletheerror不同的ruby系统命令有很好的比较here. 关于ruby-on-rails-验证终端命令已在Rai
我想为Ruby制作一个开发服务器。(我已经为IIS和LAMP设置完成了此操作,但我绝不精通它。)除了实际的服务器(我已经拥有)之外我还需要什么?还有任何安全问题?我知道我可以在我的机器上进行本地开发,但不想那样做。 最佳答案 首先,在进行ruby开发时,首先要知道它在类似unix的环境中工作得最好,因此macosx、linux、solaris、bsd等...Ruby库作为gems分发和打包。所以您需要安装ruby并安装rubygems。然后从那里使用gem命令安装ruby库。我假设您正在谈论使用rubyonrai
我有一个包含在Sinatra::Base中的Sinatra应用程序,我想在服务器启动后运行一些代码,我应该怎么做?这是一个例子:require'sinatra'require'launchy'classMyServer有什么想法吗? 最佳答案 使用配置block不是执行此操作的正确方法。每当您加载文件时,命令都会运行。尝试扩展run!require'sinatra'require'launchy'classMyServer 关于ruby-Sinatra服务器运行后执行代码,我们在Stac